<?php
/**
 * <https://y.st./>
 * Copyright © 2018 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'<{title}>' => 'I have my associate degree now, I guess? That was anticlimactic.',
	'takedown' => '2017-11-01',
	'<{body}>' => <<<END
<img src="/img/CC_BY-SA_4.0/y.st./weblog/2018/12/15.jpg" alt="Not much traffic right now." class="framed-centred-image" width="649" height="480"/>
<section id="Minetest">
	<h2>Minetest</h2>
	<p>
		My new system for matching dye colours is a lot faster.
		I haven&apos;t been able to test how well the colour-matching worked though, as I ran into bugs in Unified Dyes that make some of the dyes not match up with some of the colours.
		Two dyes can&apos;t be used to dye anything and two dyes dye things to the same colour, making three of the colours unobtainable.
		I wouldn&apos;t have noticed, except that I was trying to match the dye names with the palette indexes I needed to use for my mod.
		Somehow, I&apos;ve been roped into fixing the bug, too.
	</p>
	<p>
		I managed to find the bug.
		Or actually, bugs.
		There turned out to be two of them.
		However, I ended up staying up late to do that, and didn&apos;t get to sleep until three hours past midnight.
		Needless to say, I didn&apos;t get up on time to hit that small window in which the post office was open.
		It doesn&apos;t open for very long on Saturdays.
		So, the school will have to wait until Monday for me to send the cheque.
	</p>
</section>
<section id="drudgery">
	<h2>Drudgery</h2>
	<p>
		I received the envelope from the school today.
		I&apos;ve never had a diploma, so I guess I was expecting it to be some physical document.
		Instead, they sent my transcripts, and they&apos;re in a sealed envelope that I can&apos;t open without invalidating the documents.
		Oh, well.
		In any case, I really need to get caught up on everything so I can job hunt.
		Then again, it might be safer to not job hunt until the term ends.
		That way, I know I have time for interviews and such.
	</p>
	<p>
		My discussion post for the day:
	</p>
	<blockquote>
		<p>
			You say $a[PHP] is used for cookies, but it&apos;s worth noting that JavaScript technically <strong>*can*</strong> be used to set and read cookies.
			That said, most of the time, that&apos;s not a good use of JavaScript, and $a[PHP] should be used foe that instead.
		</p>
		<p>
			You make a good point about validating forms with JavaScript.
			This is exactly the sort of functionality that can be done on the client side to save your users time.
			Of course, client-side validation cannot be trusted, as the user can modify client-side code, so any client-side validation should strictly be used as a service for your users.
			Any security-related or database-integrity-related validations need to be performed or re-performed on the server side.
		</p>
		<p>
			However, I would strongly urge <strong>*against*</strong> implementing drop-down menus in JavaScript.
			$a[CSS] is <strong>*more*</strong> than capable of implementing drop-down menus.
			If your user has JavaScript disabled and your menus don&apos;t function without JavaScript, your navigation menus won&apos;t work and you may drive some of your users away.
			There is no excuse for failing to provide working navigation menus for users without JavaScript enabled.
			Users disable JavaScript for a variety of valid reasons.
			Some users even have to use special technology, such as how the blind use screen readers, and JavaScript isn&apos;t always an option under such circumstances.
		</p>
		<p>
			Lastly, I&apos;d like to note both that $a[PHP] isn&apos;t fully object-oriented and that neither language requires $a[HTTP].
			$a[PHP] has become partly object-oriented, but there&apos;s a lot about the language that simply isn&apos;t.
			Functions, classes, and constants aren&apos;t objects in $a[PHP], nor are values of original several types (such as integers, floats, strings, arrays, et cetera; none of these things are objects in $a[PHP]).
			As for $a[HTTP], many applications built with these languages, as well as any website built with them, require $a[HTTP].
			However, there&apos;s a lot you can do in these languages to build applications that don&apos;t use $a[HTTP] at all.
			As an example, I write my daily journal entries using $a[PHP], and the code I use to do so doesn&apos;t touch $a[HTTP] at all.
			These languages are commonly used to build websites, but not everything built in these languages has anything to do with the Web, or even the Internet.
		</p>
	</blockquote>
</section>
<section id="religion">
	<h2>Religion</h2>
	<p>
		I&apos;d intended my prayer experiment to last a few years, but there are just too many good arguments against religion.
		The words I speak are clearly going nowhere.
		So I&apos;d decided to continue until the missionaries had completed the lessons they wished to present me.
		But they&apos;re not coming back, or at least they&apos;re a week and a half late at this point.
		I have no way to know if or when they&apos;ll return.
		There&apos;s no more point in humouring them.
		So tonight, I uttered my last prayer.
		The experiment is done.
		It&apos;s time to stop wasting time and move on to things that actually matter in this world.
	</p>
</section>
END
);
